// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;

#include "SQLAlterSystemSetConfigStatement.h"
#include "../../visitor/SQLASTVisitor.h"
#include "SQLAssignItem.h"
#include "../../../utils/listTran.h"

SQLAlterSystemSetConfigStatement::SQLAlterSystemSetConfigStatement()
{
  options = std::make_shared<std::list<SQLAssignItem_ptr>>();
}

SQLAssignItem_list_ptr SQLAlterSystemSetConfigStatement::getOptions()
{
  return options;
}

void SQLAlterSystemSetConfigStatement::addOption(SQLAssignItem_ptr item)
{
  item->setParent(SharedObject(SQLAlterSystemSetConfigStatement));
  this->options->push_back(item);
}

// @Override
void SQLAlterSystemSetConfigStatement::accept0(SQLASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(SQLAlterSystemSetConfigStatement)))
  {
    SQLObject_list_ptr tmp1 = ListTran::tran_class<SQLAssignItem, SQLObject>(options);
    acceptChild(visitor, tmp1);
  }
  visitor->endVisit(SharedObject(SQLAlterSystemSetConfigStatement));
}
